package com.ssl.rms.service;

import com.ssl.rms.entity.Menu;
import com.ssl.rms.entity.MenuExample;

import java.util.List;
import java.util.Map;

/**
 * 描述：菜单service
 *
 * @author ssl
 * @create 2018/03/07 10:18
 */
public interface MenuService {
    /**
     * 新增菜单
     *
     * @param menu
     * @return
     */
    Menu insertSelective(Menu menu);

    /**
     * 逻辑删除
     *
     * @param id
     */
    void deleteByPrimaryKey(Long id);

    /**
     * 修改
     *
     * @param menu
     * @return
     */
    Menu updateByPrimaryKeySelective(Menu menu);

    /**
     * 查询
     *
     * @param id
     * @return
     */
    Menu selectByPrimaryKey(Long id);

    /**
     * 查询菜单列表
     *
     * @param example
     * @return
     */
    List<Menu> selectByExample(MenuExample example);

    /**
     * 查询所有资源
     * @return
     */
    List<Menu> selectAll();

    /**
     * 获取用户拥有的的菜单集合
     *
     * @param map{userId:xx,type:xxx}
     * @return
     */
    List<Menu> selectMenus(Map<String, Object> map);

}
